package com.amsp.oa.oademo.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;

/**
 * 职员/员工离职申请表VO类
 */
@Data
@ApiModel(value = "ResignationApplicationVO", description = "职员/员工离职申请表")
public class ResignationApplicationVO {

    @ApiModelProperty(value = "主键ID")
    private Long id;

    @ApiModelProperty(value = "部门")
    private String department;

    @ApiModelProperty(value = "组别")
    private String groupName;

    @ApiModelProperty(value = "离职类型")
    private String resignType;

    @ApiModelProperty(value = "填表年份")
    private Integer fillDateYear;

    @ApiModelProperty(value = "填表月份")
    private Integer fillDateMonth;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "职务")
    private String position;

    @ApiModelProperty(value = "工号")
    private String employeeId;

    @ApiModelProperty(value = "性别")
    private String gender;

    @ApiModelProperty(value = "进厂日期")
    private String joinDate;

    @ApiModelProperty(value = "离厂日期")
    private String leaveDate;

    @ApiModelProperty(value = "个人陈述理由")
    private String reason;

    @ApiModelProperty(value = "班（组）长意见")
    private String teamLeaderOpinion;

    @ApiModelProperty(value = "班（组）长姓名")
    private String teamLeaderName;

    @ApiModelProperty(value = "班（组）长意见年份")
    private Integer teamLeaderDateYear;

    @ApiModelProperty(value = "班（组）长意见月份")
    private Integer teamLeaderDateMonth;

    @ApiModelProperty(value = "主管意见")
    private String supervisorOpinion;

    @ApiModelProperty(value = "主管姓名")
    private String supervisorName;

    @ApiModelProperty(value = "主管意见年份")
    private Integer supervisorDateYear;

    @ApiModelProperty(value = "主管意见月份")
    private Integer supervisorDateMonth;

    @ApiModelProperty(value = "经理意见")
    private String managerOpinion;

    @ApiModelProperty(value = "经理姓名")
    private String managerName;

    @ApiModelProperty(value = "经理意见年份")
    private Integer managerDateYear;

    @ApiModelProperty(value = "经理意见月份")
    private Integer managerDateMonth;

    @ApiModelProperty(value = "部长/总监意见")
    private String directorOpinion;

    @ApiModelProperty(value = "部长/总监姓名")
    private String directorName;

    @ApiModelProperty(value = "部长/总监意见年份")
    private Integer directorDateYear;

    @ApiModelProperty(value = "部长/总监意见月份")
    private Integer directorDateMonth;

    @ApiModelProperty(value = "总经理意见")
    private String generalManagerOpinion;

    @ApiModelProperty(value = "总经理姓名")
    private String generalManagerName;

    @ApiModelProperty(value = "总经理意见年份")
    private Integer generalManagerDateYear;

    @ApiModelProperty(value = "总经理意见月份")
    private Integer generalManagerDateMonth;

    @ApiModelProperty(value = "人资经理姓名")
    private String hrManagerName;

    @ApiModelProperty(value = "人资经理意见年份")
    private Integer hrManagerDateYear;

    @ApiModelProperty(value = "人资经理意见月份")
    private Integer hrManagerDateMonth;

    @ApiModelProperty(value = "部长姓名")
    private String departmentHeadName;

    @ApiModelProperty(value = "部长意见年份")
    private Integer departmentHeadDateYear;

    @ApiModelProperty(value = "部长意见月份")
    private Integer departmentHeadDateMonth;

    @ApiModelProperty(value = "总裁/董事长姓名")
    private String presidentName;

    @ApiModelProperty(value = "总裁/董事长意见年份")
    private Integer presidentDateYear;

    @ApiModelProperty(value = "总裁/董事长意见月份")
    private Integer presidentDateMonth;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;
}